草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

c++ - 为什么 std::locale loc ("en_US") 抛出异常?

我试图用美国或英国语言环境字符串实例化一个std::locale对象。std::localeloc("en_US")和std::localeloc("en_GB")都抛出一个错误的语言环境名称运行时异常.使用""或"C"创建语言环境效果很好;但是,我在设置单个国家/地区时遇到问题。我想这样做的原因是出于单元测试的目的,以确保一组字符串排序方法能够正常工作。我还应该指出,我正在使用VisualStudio2008在Windows中编写代码,如果可能的话,我希望让我的代码跨平台。 最佳答案 std::locale支持的字符串是特定于实现

c++ - 打开包含不存在文件的文件流后没有异常抛出?

我正在尝试使用std::ifstreaminStream;inStream.open(file_name);如果file_name不存在,则不会抛出异常。我怎样才能确保在这种情况下抛出?我正在使用C++11 最佳答案 您可以通过设置流exceptionmask来做到这一点,在调用open()之前std::ifstreaminStream;inStream.exceptions(std::ifstream::failbit);try{inStream.open(file_name);}catch(conststd::exception

c++ - std::getline 在遇到 eof 时抛出

std::getline在获取eof时抛出异常。我就是这样做的。std::ifstreamstream;stream.exceptions(std::ifstream::failbit|std::ifstream::badbit);try{stream.open(_file.c_str(),std::ios_base::in);}catch(std::ifstream::failuree){std::cout在上面的代码中,getline在获取eof时抛出异常如何处理这种情况?编辑std::stringbuffer="";while(std::getline(stream,buffer

c++ - 默认的默认构造函数可以抛出吗?

默认的默认构造函数由C++编译器生成,用户无法控制它们。他们能扔吗?声明一个的时候指定noexcept可以吗?下面的代码可以用gcc编译。structA{A()=default;};structB{B()noexcept=default;};intmain(){Aa;Bb;return0;} 最佳答案 允许将noexcept说明符添加到默认的特殊成员函数(默认构造函数、复制构造函数、赋值运算符等)。default声明的特殊成员函数将有一个noexcept说明符,具体取决于所涉及函数的noexcept说明符(其隐含的noexcept说

c++ - 为什么当我抛出派生类的对象时,基类的 catch block 会捕获异常?

这个问题在这里已经有了答案:WhyBaseClasscatchblockcatchderivedclassobject?(3个答案)Whythrowatderivedclasscatchesbybase?(5个答案)关闭5年前。如果我正在传递派生类的对象,那么应该调用派生类的catchblock。但是输出显示异常被基类捕获。为什么?#includeusingnamespacestd;classBase{};classDerived:publicBase{};intmain(){Derivedd;//someotherstufftry{//Somemonitoredcodethrowd;

c++ - 为什么我的异常被捕获后还是抛出?

我有以下代码,其中使用函数调用的结果初始化变量。这个函数抛出,所以我设置了一个try-catch来捕获异常。由于某种原因,即使在catch子句运行后,异常仍然显示在屏幕上。#include#includeintf(){throwstd::invalid_argument("threw");return50;}structS{S()try:r(f()){std::cout此代码在显示异常后打印“失败”:terminatecalledafterthrowinganinstanceof'std::invalid_argument'what():threw为什么还是抛出异常?我在main中设置

c++ - 在 catch block 中重新抛出异常

任何人都可以确认我此信息是否正确:在C++中,在catchblock中我们可以使用throw语句重新抛出异常,但抛出的异常应该与当前捕获的异常具有相同的类型。 最佳答案 throw;单独在一个catchblock中重新抛出刚刚捕获的异常。如果您需要(例如)执行一些清理操作以响应异常,但仍允许它向上传播到可以更充分地处理它的地方,这将很有用:catch(...){cleanup();throw;}但您也可以完全自由地执行此操作:catch(SomeExceptione){cleanup();throwSomeOtherExceptio

react中使用useEffcet抛出错误“超出最大更新深度”

目录【项目中部分代码】:【说明】:【抛出错误】:“超出最大更新深度”【造成原因】:【例如:】【解决】:【项目中部分代码】://类组件中:一进页面就拿到要notiveType的值,于是写在componentDidMount生命周期里,只在第一次进入页面时调一次,之后不调用classAextendsPureComponent{constructor(props){super(props)this.state={value:'',}}componentDidMount(){this.inputDate();}inputDate=()=>{this.setState({value:pubConent.

c++ - 如果我不告诉要在 C++ 中抛出什么类型的对象,throw 语句会抛出什么?

以下代码异常终止,因为没有明确抛出对象。下面代码中的throw语句抛出什么?intmain(){try{cout 最佳答案 不带参数的throw只能在catch语句中使用,以重新抛出捕获的异常对象。您的代码尝试在catch语句之外使用它-相反,您应该选择一个类型来抛出,如果有疑问,从std::runtime_error开始并不是不合理的。有关更多选项,请参阅here.您也可以抛出自己的类型,但通常最好从标准库提供的类型之一派生它们,这样客户端代码就有更好的机会为所有逻辑上相似的错误指定适当的处理,而不必捕获和处理它们分开并针对每个新

ios - 使用 cocoapods-1.0.1 下载时 Coreplot 抛出错误

我正在尝试使用Cocoapods1.0.1下载coreplot,它一直抛出错误'CorePlot/CorePlot-CocoaTouch.h'filenotfound我尝试了网络上提供的各种解决方案,但没有任何效果为了我。请帮我解决这个问题。这是我的podfile代码示例source'https://github.com/CocoaPods/Specs.git'platform:ios,'7.0'xcodeproj'Sample'pod'CorePlot',:git=>'https://github.com/core-plot/core-plot.git',:branch=>'rele